Skip to content

docs: Implement version selector with sphinx-multiversion#613

Merged
laughingman7743 merged 3 commits intomasterfrom
version-selector-implementation
Oct 18, 2025
Merged

docs: Implement version selector with sphinx-multiversion#613
laughingman7743 merged 3 commits intomasterfrom
version-selector-implementation

Conversation

@laughingman7743
Copy link
Member

@laughingman7743 laughingman7743 commented Oct 18, 2025

Summary

Implements a version selector for the documentation using sphinx-multiversion, allowing users to easily switch between different versions of the documentation.

Changes

  • ✅ Add sphinx-multiversion dependency to pyproject.toml
  • ✅ Configure sphinx-multiversion to build all semantic versioning tags (vX.Y.Z)
  • ✅ Add dropdown-style version selector in sidebar (positioned after CONTENTS)
  • ✅ Update GitHub Actions workflow to use make docs command
  • ✅ Add tag push trigger to GitHub Actions (automatically builds docs on new releases)
  • ✅ Update Makefile to use sphinx-multiversion for docs target
  • ✅ Remove unused docs/Makefile and docs/make.bat files
  • ✅ Configure Furo theme options for source repository links

UI/UX

The version selector is displayed as a dropdown below the CONTENTS section in the sidebar. The heading "VERSIONS:" matches the style of "CONTENTS:" for visual consistency.

Configuration

sphinx-multiversion settings:

  • Tags: All semantic versioning tags (vX.Y.Z) - supports v3, v4, v5, etc.
  • Branches: Only master branch is built
  • Default: Root URL redirects to master branch documentation

GitHub Actions triggers:

  • Pushes to master branch
  • Tag pushes matching v* pattern (new releases automatically trigger docs build)
  • Manual workflow dispatch

Test Plan

  • Local build with make docs produces multi-version documentation
  • Version selector dropdown displays all versions correctly
  • Version switching works properly
  • Styling matches CONTENTS section
  • Tag pattern supports all semantic versions (not limited to v3)

Screenshots

Please review the deployed documentation after CI completes.

Closes #612

🤖 Generated with Claude Code

laughingman7743 and others added 3 commits October 18, 2025 15:00
This PR implements a version selector for the documentation using
sphinx-multiversion. Users can now easily switch between different
versions of the documentation.

Changes:
- Add sphinx-multiversion dependency to pyproject.toml
- Configure sphinx-multiversion to build v3.x.x tags and master branch
- Add dropdown-style version selector in sidebar (after CONTENTS)
- Update GitHub Actions workflow to use 'make docs' command
- Update Makefile to use sphinx-multiversion for docs target
- Remove unused docs/Makefile and docs/make.bat files
- Configure Furo theme options for source repository links

The version selector is displayed as a dropdown below CONTENTS in the
sidebar, matching the style of CONTENTS: heading. The root URL redirects
to master branch documentation.

Closes #612

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Change tag whitelist pattern from v3.x.x to vX.Y.Z to support
future major versions (v4, v5, etc.) without configuration changes.
Add tag push trigger (v*) to documentation workflow so that
new version documentation is built and deployed automatically
when a new version is released.
@laughingman7743 laughingman7743 marked this pull request as ready for review October 18, 2025 06:24
@laughingman7743 laughingman7743 merged commit 4bb3a7b into master Oct 18, 2025
5 checks passed
@laughingman7743 laughingman7743 deleted the version-selector-implementation branch October 18, 2025 06:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add version selector to documentation

1 participant